home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_gtk / INCLUDE / GTK / GTKLABEL.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  3KB  |  102 lines

  1. /* GTK - The GIMP Toolkit
  2.  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  3.  *
  4.  * This library is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU Library General Public
  6.  * License as published by the Free Software Foundation; either
  7.  * version 2 of the License, or (at your option) any later version.
  8.  *
  9.  * This library is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.  * Library General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU Library General Public
  15.  * License along with this library; if not, write to the Free
  16.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  */
  18.  
  19. /*
  20.  * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
  21.  * file for a list of people on the GTK+ Team.  See the ChangeLog
  22.  * files for a list of changes.  These files are distributed with
  23.  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
  24.  */
  25.  
  26. #ifndef __GTK_LABEL_H__
  27. #define __GTK_LABEL_H__
  28.  
  29.  
  30. #include <gdk/gdk.h>
  31. #include <gtk/gtkmisc.h>
  32.  
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif /* __cplusplus */
  37.  
  38.  
  39. #define GTK_TYPE_LABEL            (gtk_label_get_type ())
  40. #define GTK_LABEL(obj)            (GTK_CHECK_CAST ((obj), GTK_TYPE_LABEL, GtkLabel))
  41. #define GTK_LABEL_CLASS(klass)        (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_LABEL, GtkLabelClass))
  42. #define GTK_IS_LABEL(obj)        (GTK_CHECK_TYPE ((obj), GTK_TYPE_LABEL))
  43. #define GTK_IS_LABEL_CLASS(klass)    (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LABEL))
  44.  
  45.  
  46. typedef struct _GtkLabel       GtkLabel;
  47. typedef struct _GtkLabelClass  GtkLabelClass;
  48.  
  49. typedef struct _GtkLabelWord   GtkLabelWord;
  50.  
  51. struct _GtkLabel
  52. {
  53.   GtkMisc misc;
  54.  
  55.   gchar    *label;
  56.   GdkWChar *label_wc;
  57.   gchar    *pattern;
  58.  
  59.   GtkLabelWord *words;
  60.  
  61.   guint      max_width : 16;
  62.   guint   jtype : 2;
  63.   gboolean wrap;
  64. };
  65.  
  66. struct _GtkLabelClass
  67. {
  68.   GtkMiscClass parent_class;
  69. };
  70.  
  71.  
  72. GtkType    gtk_label_get_type      (void);
  73. GtkWidget* gtk_label_new           (const gchar       *str);
  74. void       gtk_label_set_text      (GtkLabel          *label,
  75.                                     const gchar       *str);
  76. void       gtk_label_set_justify   (GtkLabel          *label,
  77.                                     GtkJustification   jtype);
  78. void       gtk_label_set_pattern   (GtkLabel          *label,
  79.                     const gchar          *pattern);
  80. void       gtk_label_set_line_wrap (GtkLabel          *label,
  81.                     gboolean           wrap);
  82. void       gtk_label_get           (GtkLabel          *label,
  83.                                     gchar            **str);
  84.  
  85. /* Convenience function to set the name and pattern by parsing
  86.  * a string with embedded underscores, and return the appropriate
  87.  * key symbol for the accelerator.
  88.  */
  89. guint      gtk_label_parse_uline    (GtkLabel         *label,
  90.                      const gchar      *string);
  91.  
  92. #ifndef    GTK_DISABLE_COMPAT_H
  93. #  define gtk_label_set                gtk_label_set_text
  94. #endif    /* GTK_DISABLE_COMPAT_H */
  95.  
  96. #ifdef __cplusplus
  97. }
  98. #endif /* __cplusplus */
  99.  
  100.  
  101. #endif /* __GTK_LABEL_H__ */
  102.